Disc drives are used for data storage in modern electronic products ranging from digital cameras to computers and network systems. Ordinarily, a disc drive includes a mechanical portion, or head disc assembly, and electronics in the form of a printed circuit board assembly mounted to an outer surface of the head disc assembly. The printed circuit board assembly controls functions of the head disc assembly and provides a communication interface between the disc drive and a host being serviced by the disc drive.
The head-disc assembly has a disc with a recording surface rotated at a constant speed by a spindle motor assembly and an actuator assembly positionably controlled by a closed loop servo system. The actuator assembly supports a read/write head that writes data to and reads data from the recording surface. Disc drives using magnetoresistive read/write heads typically use an inductive element, or writer, to write data to information tracks of the recording surface and a magneto resistive element, or reader, to read data from the information tracks during drive operations.
The disc drive market continues to place pressure on the industry for disc drives with increased capacity at a lower cost per megabyte and higher rates of data throughput between the disc drive and the host.
In real-time systems, there is often a need to complete a certain computation prior to a deadline, i.e., to complete a computation within a computation time estimate, such as determining an optimum schedule for a command queue prior to completion of an active command accessing the disc.
A computation time estimate is sometimes based upon measurements taken by the designers of the system, and those measurements are “hard-coded” into the system. If the characteristics of the system change at run-time (e.g. the CPU bandwidth allocated to the computations is different than the designers expected), estimates based on the original measurements may no longer be accurate. Furthermore, any time the system is modified (e.g. the CPU clock rate is increased), the computation time must be re-measured and the revised measurements hard-coded into the system.
Because of a growing ability of disc drives to adapt to their environment, continual pressure for improved data throughput and an understanding that in some cases it is desirable to provide a more precise result when time is available for extended computation, and to sacrifice precision for the sake of expediency when time does not allow for extended computation there is a need for improved methods to update and utilize computation time estimates. To achieve this, the system must be able to estimate how much time would be required for a particular computation on a real time basis.
As such, challenges remain and a need persists for improvements in data throughput between the disc drive and the host by reducing overall processor cycle time through computational task optimization to improve data throughput.